<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <button id="btn">按钮</button>
</body>
<script>
    // 作用：防止短时间内高频繁调用同一接口的方法。
    // 防抖：设置延时器，短时间高频率触发只有最后一次触发成功
    var timer = null
    document.getElementById('btn').onclick = function () {
        clearTimeout(timer)
        timer = setTimeout(() => {
            console.log(1);
        }, 1000)
    }
    // 节流：设置状态锁，短时间高频率触发只有第一次触发成功
    var key = false
    document.getElementById('btn').onclick = function () {
        if (!key) {
            key = true
            setTimeout(() => {
                console.log(1);
                key = false
            }, 2000)
        }
    }
</script>

</html>